package com.ljx.recruitment.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ljx.recruitment.common.domain.vo.resp.PageResp;
import com.ljx.recruitment.user.domain.entity.Permission;
import com.ljx.recruitment.user.domain.vo.req.PermissionPageReq;
import com.ljx.recruitment.user.domain.vo.req.PermissionSubmitReq;
import com.ljx.recruitment.user.domain.vo.req.PermissionToRoleReq;
import com.ljx.recruitment.user.domain.vo.resp.PermissionTree;

import java.util.List;

public interface PermissionService extends IService<Permission> {
    List<Long> getPermissionIdByRoleIds(List<Long> roles);

    List<Permission> getPermissionByIds(List<Long> permissionByRoleIds);

    Permission submit(PermissionSubmitReq req);

    PageResp<Permission> getPage(PermissionPageReq req);

    List<String> getModule();

    List<PermissionTree> getTree();

    void allocationToRole(PermissionToRoleReq req);

    List<Permission> getPermissionByNames(List<String> permissionNames);
}
